package com.foreknow.demo5;

import java.util.Scanner;

/**
 * 功能类
 * 1. 添加员工信息 insert into table(eid,ename,age,salary,department) values(?,?,?,?,?)
 * 2. 根据id查询某个员工信息 select * from employee where id = ?
 * 3. 查询所有员工信息 select * from employee
 * 4. 修改员工信息 update table set column1 = value,column2 = value2 where id = ?
 */
public class Manager {
    //创建一个数组容器(用于保存员工对象)
    private Employee[] employees;
    private int count;

    public Manager() {
        employees = new Employee[10];
    }
    /**
     * 添加员工信息
     * @param employee 员工对象
     */
    public void insertEmployee(Employee employee) {
        //将员工对象保存到数组中
        if(employee != null) {
            if(count < 6) {
                employees[count] = employee;
                count++;
                System.out.println("insert success......");
            }else {
                System.out.println("insert fail......");
            }
        }
    }

    /**
     * 根据id查询某个员工信息
     * select * from employee where id = ?
     * @param id 用户输入的id
     * @return 一个员工对象
     */
    public Employee getQueryById(int id) {
        //1. 遍历数组{
        //  //2. 每循环一次要用用户输入的id是否与数组中的某个元素的id相同，如果相同就找到了这个员工
//                if(id==数组名[下标].getId()) {
//
//                }
        // }
        //3. 最后找到返回的员工对象
        Employee emp = null;
        for(int i = 0;i<count;i++) {
            if(employees[i] != null) {
                if(id == employees[i].getEid()) {
                    emp = employees[i];
                    break;
                }
            }
        }
        return emp;
    }

    /**
     * 查询所有员工信息
     * @return Employee[]数组：这个数组中会保存所有查询到的员工对象
     */
    public Employee[] getQueryAll() {
        //遍历数组
        //将原数组中的元素放到一个新的容器中
        //返回新的容器
        Employee[] emp = new Employee[3];
        for(int i = 0;i<count;i++){
            emp[i] = employees[i];
        }
        return emp;
    }

    /**
     * 修改员工信息
     * update table set column1 = value,column2 = value2 where id = ?
     * @param employee 要修改的对象(根据id查询到员工对象)
     * @return 修改之后的员工对象
     */
    public Employee update(Employee employee) {
        //先根据id查询到要修改的员工对象
        // 调用对象中的set方法
        // 返回修改之后的员工对象
        employee.setEname("xxxx");
        return employee;
    }
}
